#ifndef _STRMAN_H_
#define _STRMAN_H_

#include "num/named_set.h"
namespace lang
{
// basically maps stringID to String
struct	StrEntry
{
	std::wstring		Data;
};

class StrMan : public num::NamedSet<StrEntry*>
{
public:
	static StrMan&		Instance();
	bool				LoadLangBin(const std::string& File);
	bool				LoadLangLua(const std::string& File);

	const std::wstring& GetStringA(const std::string& ID);
	const std::wstring& GetStringW(const std::wstring& ID);

private:
	StrMan();
	~StrMan();
    StrMan( const StrMan & );     // Not implemented to prevent copying.
    StrMan & operator=( const StrMan & );
};

}  // namespace lang

#endif // _STRMAN_H_